package com.vortex.cloud.sample.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.vortex.cloud.vfs.lite.data.domain.AbstractBaseDeleteModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.Table;

import javax.persistence.Column;
import javax.persistence.Entity;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * @author 王林
 * @version 1.0
 * @date 2021-10-13 周三
 * @time 14:36
 * @description
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Entity(name = TaskUser.TABLE_NAME)
@Table(appliesTo = TaskUser.TABLE_NAME, comment = "task_user_demo表")
@TableName(value = TaskUser.TABLE_NAME)
public class TaskUser extends AbstractBaseDeleteModel {
    public static final String TABLE_NAME = "task_user_demo";

    /**
     * 姓名
     */
    @Column(columnDefinition = "varchar(20) comment '姓名'")
    private String name;

    /**
     * 日期
     */
    @Column(columnDefinition = "date comment '日期'")
    private LocalDate taskDate;

    /**
     * 时间
     */
    @Column(columnDefinition = "time comment '时间'")
    private LocalTime taskTime;

    /**
     * 年月日时分秒
     */
    @Column(columnDefinition = "datetime comment '年月日时分秒'")
    private LocalDateTime taskDateTime;

    /**
     * 用户类型，枚举：0：管理员，1：普通用户
     */
    @Column(columnDefinition = "varchar(2) comment '0:管理员，1:普通用户'")
    private String roleType;

    /**
     * 身份证号
     */
    @Column(columnDefinition = "varchar(20) comment '身份证号'")
    private String idNo;

    /**
     * 性别，1：男,0：女 -参见Position枚举
     */
    @Column(columnDefinition = "char(2) comment '参见Position枚举，性别，1：男,0：女'")
    private String sex;

    /**
     * 手机号
     */
    @Column(columnDefinition = "varchar(12) comment '手机号'")
    private String mobileNo;

    /**
     * 职位，参见Position枚举
     */
    @Column(columnDefinition = "varchar(20) comment '职位，参见Position枚举'")
    private String position;

    /**
     * 密码
     */
    @Column(columnDefinition = "varchar(100) comment '密码'")
    private String password;

    /**
     * 邮箱
     */
    @Column(columnDefinition = "varchar(30) comment '邮箱'")
    private String email;

    /**
     * 登录凭证
     */
    @Column(columnDefinition = "varchar(100) comment '登录凭证'")
    private String loginToken;

    /**
     * 是否首次登录，参见YesOrNo枚举
     */
    @Column(columnDefinition = "varchar(20) comment '是否首次登录，参见YesOrNo枚举'")
    private String isFirstLogin;

    /**
     * 头像地址
     */
    @Column(columnDefinition = "varchar(100) comment '头像地址'")
    private String logoUrl;

    /**
     * 备注
     */
    @Column(columnDefinition = "varchar(200) comment '备注'")
    private String remark;

    /**
     * 创建者
     */
    @Column(columnDefinition = "varchar(20) comment '创建者'")
    private String createBy;

    /**
     * 更新者
     */
    @Column(columnDefinition = "varchar(20) comment '更新者'")
    private String updateBy;

    /**
     * 父id
     */
    @Column(columnDefinition = "varchar(20) comment '更新者'")
    private String parentId;

}

